100 REM !-----------------------------! 110 REM ! ARVEE'S DIRECTORY REPAIRMAN ! 120 REM ! ! 130 REM ! C-1987 WHITAKER LABS ! 140 REM ! ! 150 REM ! BROUGHT TO YOU BY SCORMUS ! 160 REM !-----------------------------! 170 : 180 REM PROTECT GEOS FROM BASIC 190 IFPEEK(56)>126THENPOKE56,126:CLR 200 : 210 REM DIMS FLGS VARS CONSTNTS STRINGS 220 REM DIMENSIONS 230 DIM BF(23):REM BLKS FREE COMPUTED 240 DIM BD(20):REM DIR BLKS FOLLOWED 250 DIM M$(11):REM MSGS 260 DIM F$(7) :REM FILE NAMES 270 DIM BM(2) :REM BAM TEMP 0-7/8-F/10+ 280 : 290 REM FLAGS 300 PE=0:REM PRNT ERR CHN 1=PRNT 310 IS=0:REM ILLEGAL SECTR 320 BD=0:REM BAD DIRECTORY 330 BB=0:REM BAD BLOCK 340 BP=0:REM BAD POINTER 350 NF=0:REM DIR NOT FIXED 360 BT=0:REM OFF TR 18 370 : 380 REM VARIABLES 390 X=0:Y=0:T=0:REM LOOP VARS 400 TR=18:SE=0:REM DEFAULT TR/SE 410 TV=18:SV=0:REM TR/SE PNTR VAL 420 AL=55537 :REM COLOR POKE PSEUDO BASE 430 M =0:D=0 :REM MESSAGE #/# LINES DOWN 440 CF=0:BL=0:REM COMP/ACTUAL BLKS FREE 450 ND=0:E=0 :REM NEW DOS VERS 460 CT=0 :REM # OF MISALLOC BLKS 470 P =0 :REM BUFFER POINTER 480 : 490 REM STRINGS 500 A$="":B$="":C$="":D$="":REM TMP STR 510 WP$="":REM WRITE PROTECT 520 NL$=CHR$(0):REM NULL 530 L$="[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]" 540 L2$=" [192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]" 550 R1$="" 560 R2$="[156]" 570 : 580 REM GEOS SPECIFIC CONSTANTS 590 DA=33938:REM DISK TURBO FLG DRIVE A 600 DB=33939:REM DISK TURBO FLG DRIVE B 610 V2=49893:REM VERS 1.2 SETUP SYS 620 V3=49708:REM VERS 1.2/3 RESTART 630 VL=49158:REM GEOS BOOT & VERS # LOC 640 FORX=0TO8:REM CHECK FOR GEOSTOBOOT 650 GB$=GB$+CHR$(PEEK(VL+X)):REM STRING 660 NEXT:REM FOR POSS DESKTOP REENTRY 670 VE=PEEK(VL+X):REM GEOS VERS # 680 : 690 REM MESSAGES 700 M$(0)="[154]<< [208]RESS [203]EY [198]OR [205]ENU[160]>>" 710 M$(1)="[154]<< [208]RESS [203]EY [212]O [194]OOT >>" 720 M$(2)="[150]<< [215][193][210][206][201][206][199][160]!!![160][160][205][201][211][193][204][204][207][195][193][212][197][196] [194][204][207][195][203][211] >>" 730 M$(3)="<< [207]PERATION [193]BORTED .. [200]IT A [203]EY >>" 740 M$(4)="<< [215][193][210][206][201][206][199] !!! [194][193][196][160][196][201][210][197][195][212][207][210][217] >>" 750 M$(5)="[150]<< [215][193][210][206][201][206][199] !!! [194][193][196][160][197][206][196][160][208][212][210] >>" 760 M$(6)="<< [207]PERATION [198]AILED .. [210]ETRY >>" 770 M$(7)="[154]<< [208]RESS [203]EY FOR [205]ENU >> 780 M$(8)[178]"CONT<< (null)(null) (null)TATUS LENHANGED >> 790 M$(9)="<< [201][204][204][197][199][193][204] [207][198][198] [208][193][199][197] [196][201][210][197][195][212][207][210][217] [194][204][207][195][203] >>" 800 M$(10)="[150]<< [196][197][211][203][212][207][208][160][194][207][210][196][197][210] [200][193][211][160][194][197][197][206][160][197][210][193][211][197][196] >>" 810 M$(11)="<< [215][193][210][206][201][206][199] !!! [196][201][210][197][195][212][207][210][217][160][207][198][198][160][212][210][203][160]18 >>" 820 : 830 REM TITLE SCREEN & GET ROUTINE # 840 POKE53280,11:REM GREY BORDER 850 POKE53281, 0:REM BLACK SCREEN 860 : 870 PRINT"[147][146] [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174] 880 [153]" (null) CLRSTR$RIGHT$(null)VALLEN(null)(null)(null)(null)CLOSE(null)VAL(null)ATNRIGHT$(null)(null)ATN(null) (null) 890 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189] 900 [153]" POKE(SYS(null)POKE)CONTRITE (null)ROTECT STR$ISK 910 PRINT" [151]([158][213][151])[154]N [215]RITE [208]ROTECT 920 [153]" POKE(SYSSTR$POKE)CONTESK PEEKORDER RIGHT$NFO 930 PRINT" [151]([158][193][151])[154]NALYZE [212]RACK 18 940 [153]" POKE(SYS(null)POKE)CONTEPAIR STR$IRECTORY 950 PRINT" [193]LLOCATE TRACK 18 960 [153]" ASCOLLOW DIR CHAIN 970 PRINT" [198]IX LAST POINTER 980 [153]" ASCREE UNUSED BLKS 990 PRINT" [151]([158][194][151])[154]ASIC 1000 [153]" POKE(SYSCHR$POKE)CONTVAL(null)(null) 1010 : 1020 POKE198,0:WAIT198,1:GETA$ 1030 IFA$="D"THEN 3750:REM GEOS INFO 1040 IFA$="A"THEN 2040:REM ANALYZE 1050 IFA$="R"THEN 2910:REM REPAIR 1060 IFA$="W"THEN 3500:REM WRITE PROT 1070 IFA$="U"THEN 3510:REM UN WP 1080 IFA$="B"THEN PRINT"[145][145][145][154]":END 1090 IFA$="G"THEN 1110:REM GO GEOS 1100 GOTO1020 1110 REM GEOS DESKTOP RETURN 1120 IF GB$<>"GEOS BOOT" THEN 1170 1130 POKE DA,0:POKE DB,0:REM TURBO OFF 1140 IF VE=18 THEN SYS V2:SYS V3 1150 IF VE=19 THEN SYS V3 1160 REM BOOT GEOS 1170 PRINT"[147] [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 1180 PRINT " [221] [156][201][206][211][197][210][212][160][199][197][207][211][160][194][207][207][212][160][196][201][211][203] [221]" 1190 PRINT " [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][154]" 1200 M=1:D=15:GOSUB1260 1210 PRINT"[147]LOAD"CHR$(34)"GEOS"CHR$(34)",8,1" 1220 PRINT "RUN 1230 [151]198,3:[151]631,19:[151]632,13:[151]633,13:[144] 1240 : 1250 [143] FLASH MESSAGE # M DOWN D 1260 [153]"";:[129]X[178]0[164]D:[153]"";:[130] 1270 [151]198,0 1280 [129]X[178]1[164]2 1290 [153]"WAITON" 1300 [139]X[178]2[167][153]""; 1310 [153] M$(M); 1320 [129]Y[178]1[164]100:[161]A$ 1330 [139] A$[178]""[167] [130]:[130]:[137]1280 1340 [139] A$[178]"_"[167] [138] 1350 [153]"WAIT";:[142] 1360 : 1370 [143] CHECK DEV PRES 1380 [160]15:[159]15,8,15:[160]15 1390 [139] ST [178] 0 [167] [142] 1400 [153]" STR$EVICE (null)OT (null)RESENT" 1410 M[178]3:D[178]23:[141]1260:[138] 1420 : 1430 [143] INITIALIZE 1440 [141]1660:[159]15,8,15,"I0:":[142] 1450 : 1460 [143] CHECK ERROR CHANNEL 1470 [143] CLOSE ALL/OPEN/READ/PRINT 1480 [141]1660:[159]15,8,15 1490 [143] READ/PRINT 1500 PE[178]1:[143] PRNT FLG 1510 [143] READ ONLY 1520 [132]15,EN$,EM$,ET$,ES$ 1530 [139]EN$[179][177]"00"[167][153]:[153]""; 1540 [139] PE[178]1 [167][153]EN$","EM$","ET$","ES$:PE[178]0 1550 [139] EN$[178]"00"[167] [142] 1560 [137]1410 1570 : 1580 [143] INIT FOR IO 1590 [141]1380:[143] CHK DEVICE PRESENT 1600 [141]1440:[143] INITIALIZE DRIVE 1610 [141]1520:[143] READ ERR 1620 [141]1690:[143] ALLOC DISK BUFFER 1630 [142] 1640 : 1650 [143] DONE WITH IO 1660 [129]X[178]1[164]15:[160]X:[130]:[142] 1670 : 1680 [143] ALLOCATE A DISK BUFFER 1690 [159]2,8,2,"#":[142] 1700 : 1710 [143] READ BUFFER 1720 [152]15,"U1";2;0;TR;SE:[142] 1730 : 1740 [143] WRITE BUFFER 1750 [152]15,"U2";2;0;TR;SE:[142] 1760 : 1770 [143] BUFFER POINTER 1780 [152]15,"B-P";2;P:[142] 1790 : 1800 [143] CHECK IF SECTOR IS LEGAL 1810 IS[178]0:[143] SECTOR IS OK 1820 [139] SE[179]0 [167] 1880 1830 [139] TR[179]0 [167] 1880 1840 [139] TR[179]18 [167] [139] SE[179]21 [167] [142] 1850 [139] TR[179]25 [167] [139] SE[179]19 [167] [142] 1860 [139] TR[179]31 [167] [139] SE[179]18 [167] [142] 1870 [139] TR[179]36 [167] [139] SE[179]17 [167] [142] 1880 IS[178]1:[143] SECTOR NOT OK 1890 [142] 1900 : 1910 [143] JOB QUEUE 1920 [152]15,"M-W"[199](8)[199](0)[199](2)[199](TR)[199](SE) 1930 [152]15,"M-W"[199](1)[199](0)[199](1)[199](JOB) 1940 [129]T[178]0[164]500 1950 [151]53280,([194](53280)[170]1)[175]15 1960 [152]15,"M-R"[199](1)[199](0) 1970 [161]#15,E$:E[178][198](E$[170]NL$) 1980 [139] E[177]127 [167] [130] T 1990 [151]53280,11: 2000 [139] E[178]1 [167] [142] 2010 [160]15:M[178]6:D[178]23:[141]1260:[138] 2020 : 2030 [143] DISPLAY TRACK 18 BAM 2040 [153]"LOAD ORTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN^" 2050 [153]" (null) CLRATN(null)ATN(null)(null)(null)VAL STR$RIGHT$(null)VALLEN(null)(null)(null)(null)CLOSEPEEKATN(null) (null)" 2060 [153]" /TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANEXPCONT" 2070 [141]1590:[143] INIT IO 2080 BD[178]0:BP[178]0:BB[178]0:BT[178]0:[143] SET FLAGS 2090 CF[178]0:[143] COMPUTED FREE BLKS 2100 TR[178]18:SE[178]0:[143] DEFAULTS 2110 [143] INPUT BAM INFO 2120 [153]"(null)EADING PEEKATN(null) ........ "; 2130 [141]1720:[143] U1 2140 [141]1500:[143] READ/PRINT 2150 P[178]2:[141]1780:[143] B-P 2160 [161]#2,A$:ODV[178][198](A$[170]NL$) 2170 WP$[178]"(null)(null)":[139] ODV[178]65 [167] WP$[178]"(null)ASCASC" 2180 P[178]72:[141]1780:[143] B-P 2190 [161]#2,A$,B$,C$,D$ 2200 [141]1660:[143] DONE IO 2210 BL[178][198](A$[170]NL$) :[143] FREE BLKS 2220 BM(0)[178][198](B$[170]NL$) :[143] BAM 0- 7 2230 BM(1)[178][198](C$[170]NL$) :[143] BAM 8-15 2240 BM(2)[178][198](D$[170]NL$) :[143] BAM 16-18 2250 [143] COMPUTE/DISP BLKS FREE 2260 [129]X[178]0[164]2:[129]Y[178]0[164]7 2270 BF( (8[172]X)[170]Y )[178](BM(X) [175] 2[174]Y)[173]2[174]Y 2280 [130]Y 2290 [130]X 2300 [153]"ONONONON "L$L$ 2310 [153]"CONT (null)RACK 18 PEEKATN(null) PEEKLOCKS LENOMPUTED" 2320 [153]" 0....5....0....5..8 ASCREE ASCREE" 2330 [153]" "; 2340 [129]X[178]0[164]18: 2350 [139] BF(X) [178] 0 [167] [153] "*";:[130]:[137]2380 2360 CF[178]CF[170]1 2370 [153]"-";:[130] 2380 [153]" ";:[139]BL[179]10[167][153]" "; 2390 [153]BL; 2400 [153]"CMD "; 2410 [139]CF[179]10[167][153]" "; 2420 [153]CF"CMD " 2430 [139] CF[178]BL [167] 2450 2440 BD[178]1:[153]"ONONONON "L$""L$"" 2450 [153]" "L$;:[139]BD[178]1[167][153]"";: 2460 [153]L$ 2470 TV[178]18:SV[178]0 :[143] 1ST BLK 2480 [141]1590:[143] INIT IO 2490 [153]"CONT (null)(null) (null)VAL (null)OINTER 2500 PRINTL2$ 2510 SE=SV:TR=TV:IFNF=1THEN2710 2520 IF TV=0 THEN 2710 2530 REM CHAIN NEXT 2540 NF=0 2550 GOSUB1720:REM U1 2560 GOSUB1520:REM READ ERR 2570 P=0:GOSUB1780:REM B-P 2580 GET#2,TR$,SE$ 2590 TV=ASC(TR$+NL$) 2600 SV=ASC(SE$+NL$) 2610 GOSUB1810:NF=IS:REM CHK LEGAL SECTOR 2620 BD(SE)=1:PRINT"[154]"; 2630 IFBF(SE)<>0THENPRINT"";:BD=1:BB=1:POKEAL+SE,2 2640 IF TV>0 OR SV=255 THEN 2660 2650 PRINT""R1$"_[194][193][196] [208][212][210][145]":BP=1:BB=0 2660 IFTR<>18THENIFTR<>0THENBT=1:PRINT" "L$"[157][157] ":GOTO2680 2670 IFBBTHENPRINTR1$"_[193][204][204][207][195][193][212][197][145]":BB=0 2680 PRINTTR;SE,TV;SV 2690 IF TV=0 THEN PRINTL2$ 2700 GOTO2510 2710 GOSUB1660:REM DONE IO 2720 REM DISPLAY MISALLOC BLKS 2730 FORX=0TO18:IF BD(X)=1THEN 2810 2740 IF BF(X)>0 THEN 2810 2750 CT=CT+1:IFCT>14THEN2800 2760 PRINT""R2$"[213][206][213][211][197][196][160][211][197][195][212][207][210][211] 2770 [153]R2$"ATN(null)VALCLOSEATN(null)(null)(null)LENATN(null)VALSTR$ONON 2780 FORY=0TOCT:PRINT:NEXT 2790 PRINTR2$"[211]ECTOR " X"[145]" 2800 POKE AL+X,2 2810 NEXTX 2820 PRINT"[151][215][208]"WP$ 2830 REM WHICH MSG 2840 M=0:IF BD=1 THEN M=4:REM BAD DIR 2850 IF CT>0 THEN M=2:REM MISALOC BLKS 2860 IF BP=1 THEN M=5:REM BAD END PTR 2870 IF BT=1 THEN M=11:REM DIR OFF TRK 2880 D=23:GOSUB1260:RUN 2890 : 2900 REM FIX DIR 2910 PRINT"[147] [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174] 2920 [153]" (null) CLRASC(null)(null)(null)(null)(null)RIGHT$(null)CHR$CLOSESTR$RIGHT$(null)VALLEN(null)(null)(null)(null) (null) 2930 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][154] 2940 TR[178]18:SE[178]0 2950 [141]1590:[143] INIT IO 2960 : 2970 BF(0)[178]1 2980 [141]1720:[143] U1 2990 [141]1520:[143] READ ERR 3000 P[178]0:[141]1780:[143] B-P 3010 [161]#2,TR$,SE$ 3020 TV[178][198](TR$[170]NL$) 3030 SV[178][198](SE$[170]NL$) 3040 [139]TV[178]18[167]BF(SV)[178]1:SE[178]SV:[137]2980 3050 [139] TV[179][177]0 [167] BT[178]1:NF[178]1:[137]3380 3060 [139] SV[178]255 [167] [153]"(null)AST STR$IR (null)ECTOR (null)(null) ";:[137]3110 3070 [153] "ASCIXING (null)AST (null)ECTOR . "; 3080 P[178]1:[141]1780:[143] B-P 3090 [152]2,[199](255); 3100 P[178]0:[141]1780:[141]1750:[143] B-P/U2 3110 [141]1500:[143] READ/PRINT 3120 : 3130 [143] ALLOC ALL BLKS TR 18 3140 TR[178]18:SE[178]0:[141]1590:[143] REINIT IO 3150 [153]"(null)EADING PEEKATN(null) ........ "; 3160 [141]1720:[143] U1 3170 [141]1500:[143] READ/PRINT 3180 P[178]72:[141]1780:[143] B-P 3190 [152]2,NL$;NL$;NL$;NL$;:[143] 0 BAM 3200 P[178]0:[141]1780:[143] B-P 3210 [153]"(null)RITING PEEKATN(null) ........ "; 3220 [141]1750:[143] U2 3230 [141]1500:[143] READ/PRINT 3240 [153]" ORTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN^" 3250 [153]" (null) CLR(null)(null)(null) 18 ATN(null)(null)(null)LENATN(null)VALSTR$ (null) 3260 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][154]" 3270 : 3280 REM FREE UNUSED BLOCKS 3290 GOSUB1590:REM REINIT IO 3300 PRINT"[196]EALLOCATING BLKS .. "; 3310 FORX=0TO18 3320 IF BF(X) THEN 3360 3330 PRINT#15,"B-F";0;18;X 3340 INPUT#15,EN,EM$,ET,ES:REM ERR CHN 3350 IF EN$<>"00" THEN PRINT "[197]RROR IN [211]ECTOR"X:GOSUB1550:NF=1 3360 NEXTX 3370 GOSUB1480:REM CLOSE/OPEN/READ/PRINT 3380 GOSUB1660:REM DONE IO 3390 IF NF THEN 3440 3400 PRINT" [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174] 3410 [153]" (null) CLRSTR$RIGHT$(null)VALLEN(null)(null)(null)(null)CLOSE(null)VAL(null)ATNRIGHT$(null)VALSTR$ (null) 3420 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][154] 3430 M[178]7:D[178]21:[141]1260:[138] 3440 [153]" ORTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN^ 3450 PRINT" [221] [156][210][197][208][193][201][210][211] [198][193][201][204][197][196] ! [221] 3460 [153]" /TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANEXPCONT 3470 M=6:D=21:M=M+BT*5:GOSUB1260:RUN 3480 : 3490 REM EDIT DOS VERSION 3500 NDV=66:GOTO3520:REM WP ON 3510 NDV=65:REM WRITE PROT OFF 3520 PRINT"[147] [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174] 3530 [153]" (null) CLRVALSTR$RIGHT$(null)RIGHT$(null)CHR$CLOSESTR$(null)(null)CLOSE(null)VAL(null)(null)RIGHT$(null)(null) (null) 3540 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][154] 3550 [143] NDV=NEW DOS VERSION 1541 => A 3560 [143] WP OFF=65 ON=66 3570 [141]1590:[143] INIT IO 3580 TR[178]18:SE[178]0 :[143] BAM TRACK 3590 JOB[178]176:[141]1920:[143] SEEK 3600 JOB[178]128:[141]1920:[143] READ 3610 [152]15,"M-W"[199](2)[199](4)[199](1)[199](NDV) 3620 JOB[178]144:[141]1920:[143] WRITE 3630 [141]1660:[143] DONE IO 3640 [141]1590:[141]1660:[143] INIT/DONE IO 3650 M[178]8:D[178]14:[141]1260:[138] 3660 : 3670 [143] GET DOS WRITE PROTECT STATUS 3680 [141]1590:[143] INIT IO 3690 [152]15,"M-R"[199](1)[199](1) 3700 [161]#15,A$:WP$[178]"(null)(null)" 3710 [139] A$[178][199](65)[167] WP$[178]"(null)ASCASC" 3720 [141]1660:[143] DONE IO 3730 : 3740 [143] GET GEOS FORMAT HEADER STUFF 3750 [153]"LOAD ORTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN^ 3760 PRINT" [221] [156][199][197][207]-[196][201][211][203][160][201][206][198][207][210][205][193][212][201][207][206] [221] 3770 [153]" /TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANEXPCONT 3780 TR=18:SE=0:CT=0 3790 GOSUB1590:REM INIT IO 3800 GOSUB1720:REM U1 3810 P=171:GOSUB1780:REM B-P 3820 GET#2,A$,B$:REM TR/SE 3830 ID$="":FORX=173 TO 188:GET#2,C$:ID$=ID$+C$:NEXT:REM GEOSFORMAT STRING 3840 GET#2,D$:REM MASTER/BOOT/WORK FLG 3850 GOSUB1660:REM DONE IO 3860 IF LEFT$(ID$,4)="GEOS"THEN 3910 3870 PRINT" [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174] 3880 [153]" (null) CLR(null)(null)(null)CLOSEATN CHR$VAL(null)(null)CLOSE(null)(null)(null)VALCLOSESTR$RIGHT$(null)(null)CLOSE(null) 3890 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][154] 3900 M[178]0:D[178]12:[141]1260:[138] 3910 TR[178][198](A$[170]NL$):SE[178][198](B$[170]NL$) 3920 [153]" CONT"ID$" -- "; 3930 [139]D$[178]"B"[167][153]"SYSPEEKOOT STR$ISK 3940 IFD$="P"THENPRINT"[158][205]ASTER [196]ISK 3950 [139]D$[178]"" [167][153]"SYS(null)ORK STR$ISK 3960 PRINT" "L$L$ 3970 PRINT"[154] [196]ESKTOP[160][194]ORDER[160][208]G "; 3980 PRINT"[212][210][160]="TR"[157]"," [211][197] ="SE 3990 GOSUB1810:REM CHK LEGAL SECTOR 4000 IFIS=0THEN4030 4010 PRINT" [145][145]"L$L$"":PRINT" "L$L$ 4020 D=12:M=9:GOSUB1260:GOTO4250 4030 PRINT" "L$L$ 4040 GOSUB1590:REM INIT IO 4050 GOSUB1720:P=0:GOSUB1780:REM U1/B-P 4060 GET#2,A$,B$ 4070 TV=ASC(A$+NL$):SV=ASC(B$+NL$) 4080 IF TV<>0 OR SV<>255 THEN BD=1 4090 FOR P=2 TO 226 STEP 32 4100 GOSUB1780:GET#2,A$:REM B-P 4110 IF ASC(A$+NL$)=0 THEN 4150 4120 CT=CT+1 4130 GET#2,A$,B$,F$(CT-1) 4140 FORY=1TO15:GET#2,A$:F$(CT-1)=F$(CT-1)+A$:NEXT 4150 NEXTP:GOSUB1660:REM DONE IO 4160 PRINT"[198]ILES ON [196]ESKTOP [194]ORDER -"; 4170 IF CT=0 THEN PRINT " [206][207][206][197]":GOTO4200 4180 PRINT CT 4190 PRINT:FORX=1TOCT:PRINTX;F$(X-1):NEXT 4200 IF BD<>1 THEN D=CT+14:M=0:GOSUB1260:RUN 4210 PRINT" [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174] 4220 [153] " (null) CLRSTR$VAL(null)(null)(null)(null)(null)CLOSEPEEK(null)(null)STR$VAL(null)CLOSELEN(null)(null)(null)(null)(null)(null) (null) 4230 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][154] 4240 [139] CT[178]0 [167] 4310 4250 [153]"CONT (null)OU HAVE A PROBLEM TOO SERIOUS FOR" 4260 [153]"ME TO ADDRESS. RIGHT$T MIGHT BE POSSIBLE TO" 4270 [153]"SALVAGE PARTS OF YOUR DISK IF YOU START" 4280 [153]"NOW. (null)SE A CHR$(null)(null)STR$ SECTOR EDITOR AND ...." 4290 [153]" CHR$(null)(null)STR$ (null)(null)LEN(null)CLOSE!!!ONON 4300 STOP 4310 PRINT "[156] [217]OU HAVE"CT"FILES ON THE [196]ESKTOP" 4320 PRINT "[156][194]ORDER. [215]OULD YOU LIKE TO [197][210][193][211][197] [156]IT ? "; 4330 FORX=1TO2 4340 IF X=1 THEN PRINT"[219][157]"; 4350 IF X=2 THEN PRINT"+[157]"; 4360 FORY=1TO70:GETA$ 4370 IF A$=""THEN NEXT:NEXT:GOTO4330 4380 IF A$="_"THEN RUN 4390 IFA$<>"Y"THEN RUN 4400 PRINT:PRINT""; 4410 REM GEODEFORMAT 4420 TR=18:SE=0 4430 GOSUB1590:REM INIT IO 4440 GOSUB1720:P=171:GOSUB1780:REM U1/B-P 4450 FORI=171TO191:PRINT#2,NL$;:NEXT 4460 GOSUB1750:REM U2 4470 GOSUB1660:REM DONE IO 4480 GOSUB1480:REM CLOSE/OPEN/READ/PRINT 4490 D=23:M=10:GOSUB1260:RUN